3D Gaussian Splatting
- 作成
- 更新
- (783日前)
- 公開範囲
- personal notes
= 3DGS
複数の
3D Gaussian とは
- 中心点の
位置、 共分散、 透明度、 視点方向依存の 色情報を 持つ3次元表現の 基本単位 - 形状だけでなく
視点方向依存の 色情報を 持つ - → 複雑な
光の 反射特性も 近似できる - 点群データの
各点を 楕円形で 表現する ことで、 異なる 視点からの 見え方の 変化を 表現する ことが 可能に なっている - 楕円形は
視点に よって 見え方が 異なる ため
- 楕円形は
- → 複雑な
3D Gaussian の学習方法
- 画像から
学習できる パラメータ (3D Gaussian i に 関する もの) - pwi: 3D Gaussian分布の
世界座標に おける 中心点 - qi: 3D Gaussianの
回転 (クォータニオン) - si: 3D Gaussianの
スケール - hi: 3D Gaussianの
球面調和 パラメータ (視点方向依存の 色情報) - αi: 3D Gaussianの
不透明度
- pwi: 3D Gaussian分布の
- 設定値
(学習扶養の 仮想カメラの 設定に 関する 値) - Rcw: カメラの
ローカル 座標系に おける 回転 - tcw: カメラの
ローカル 座標系に おける 並進 - K: カメラの
内部パラメータ
- Rcw: カメラの
学習の
- 3D Gaussianの
中心点を2D画面に 投影する ときの 座標値を 計算する - 3D Gaussianの
中心点 pwを カメラ座標系の 点 pc に 変換 - pc=Rcwpw+tcw
- ピンホールモデルを
用いて、 カメラ座標系の 点 pcを 画面に 落とすときの ピクセル 座標値を 計算 - u(pc)=[xfx/z+cxyfy/z+cy]
- x, y, z は
pc の 各成分 - fx,fy は
焦点距離 - cx,cy は
画像センサーの 中心位置
- x, y, z は
- u(pc)=[xfx/z+cxyfy/z+cy]
- 3D Gaussianの
- 3D Gaussianの3D共分散を
計算する - 3D共分散は3x3の
半正定値行列だが、 このままだと 勾配降下法などで 更新する 際に、 更新後に 半正定値である ことを 保証できない - → 結果の
正定値性を 保証できる 回転 q と 各軸の スケール s の 合成で 表現する
- 3D共分散は3x3の
- 3D Gaussianの3D共分散を2D画面に
投影する ときの2D共分散を 計算する - カメラの
姿勢に 応じて、 見えた3D Gaussianの 色を 計算する - 3D Gaussian Splattingでは
レイトレーシングは しないが、 球面調和関数を 用いて 光の 反射特性を 近似できる - 球面調和関数 = 球面版の
フーリエ級数 - 無限個の
球面基底と それぞれの 係数の 線形結合で、 視点方向に 依存し、 色が 変化できる 球を 表現できる
- 無限個の
- 3D Gaussian Splattingでは
- これまでの
計算情報を 用いて、 3Dの 画像を 生成する